<?php

/**
 * @package Bike
 * @subpackage Parser
 */

/**
 * Interface for parser
 * @author Chrome
 * @package Bike
 * @subpackage Parser
 */
interface Bike_Parser_IParser {
	
	/**
	 * Constuctor
	 */
	public function __construct();
	
	/**
	 * Set path to templates
	 * @param string $path
	 * @return boolean
	 */
	public function setTemplatePath($path);
	
	/**
	 * Get previosly set path to template
	 * @return string
	 */
	public function getTemplatePath();
	
	/**
	 * Set template for parsing
	 * @param string $pathToTemplate
	 * @return boolean
	 */
	public function setTemplate($pathToTemplate);
	
	/**
	 * Assign value with key
	 * @param string $placeHolder
	 * @param mixed $data
	 * @return boolean
	 */
	public function set($placeHolder, $data);
	
	/**
	 * Process template setted with setTemplate
	 * @see Bike_Parser_IParser::setTemplate
	 * @return string
	 */
	public function processTemplate();
}
